package jp.gr.java_conf.koharasjk.syncstickynotes;

import android.app.PendingIntent;
import android.app.Service;
import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import android.widget.RemoteViews;

public class MainService extends Service {

	private final String TAG = "MainService";
	private final String BUTTON_CLICK_ACTION = "BUTTON_CLICK_ACTION";

	@Override
	public IBinder onBind(Intent intent) {
		return null;
	}

	@Override
	public void onStart(Intent intent, int startId) {
		super.onStart(intent, startId);

		Log.d(TAG, "Service:onStart");

		// ボタンが押された時に発行されるインテントを準備する
		Intent buttonIntent = new Intent();
		buttonIntent.setAction(BUTTON_CLICK_ACTION);
		PendingIntent pendingIntent = PendingIntent.getService(this, 0,
				buttonIntent, 0);
		RemoteViews remoteViews = new RemoteViews(getPackageName(),
				R.layout.widget);
		remoteViews.setOnClickPendingIntent(R.id.wButtonSync, pendingIntent);

		// ボタンが押された時に発行されたインテントの場合は文字を変更する
		if (BUTTON_CLICK_ACTION.equals(intent.getAction())) {
			new Thread(new Runnable() {
				public void run() {
					DbUtil.dbSelect();
				}
			}).start();
		}

		// AppWidgetの画面更新
		ComponentName mService = new ComponentName(this, MainWidget.class);
		AppWidgetManager manager = AppWidgetManager.getInstance(this);
		manager.updateAppWidget(mService, remoteViews);
	}
}